// import { PlusOutlined } from '@ant-design/icons';
// import ProCard from '@ant-design/pro-card'; // 高级卡片
// import ProForm, {
//   DrawerForm,
//   ProFormDatePicker,
//   ProFormSelect,
//   ProFormText,
// } from '@ant-design/pro-form';
// import { Button, Cascader, message, Modal } from 'antd';
// import TextArea from 'antd/lib/input/TextArea';
// import { connect } from 'dva';
// import moment from 'moment';
// import React from 'react';
// import styles from '../AddDevice/AddDevice.less';
// @connect(({ userManagement }) => ({
//   userManagement,
// }))
// class AddDevice extends React.PureComponent {
//   state = {
//     userInfo: {},
//     modalVisible: false,
//     valueChange: false,
//     authority: '',
//     userDataList: [],
//     visibleStatus: false,
//     deviceType: '',
//     data: [],
//     value: undefined,
//     nameList: [],
//     clientNumber: '',
//   };
//   constructor(props) {
//     super(props);
//   }

//   componentDidMount() {}

//   handleAdd = (values) => {
//     this.setState({ visibleStatus: false });
//     values.customNumber = this.props.clientNumber;
//     // 设备厂家
//     values.vendor = values.factory[0].toUpperCase();
//     // 设备类别
//     values.type = values.factory[1].toUpperCase();
//     if (values.factory[2] !== 'ALL') {
//       // 产品线
//       values.typeName = values.factory[2];
//     }

//     delete values.factory;
//     this.props.dispatch({
//       type: 'devices/add',
//       payload: {
//         ...values,
//         onSuccess: () => {
//           message.success('添加设备成功');
//           if (this.props.addRef) {
//             this.props.addRef.current.reloadAndRest();
//           }
//         },
//         onFaild: () => {},
//       },
//     });
//   };

//   handleValueChangeState = () => {
//     this.setState({ valueChange: true });
//   };

//   /**
//    * @description:设备厂家/设备类别/产品线改变时
//    * @param {*}
//    * @return {*}
//    */
//   changeCascade = (value) => {
//     if (value != '') {
//       this.setState({ deviceType: value[1] });
//     }
//   };

//   /**
//    * @description: //获取设备名称列表,添加设备时，支持获取已存在设备名称列表，方便用户输入
//    * @param {*}
//    * @return {*}
//    */

//   handleCloseModal = () => {
//     this.setState({
//       modalVisible: false,
//     });
//   };

//   handleOk = () => {
//     this.setState({
//       modalVisible: false,
//     });
//   };
//   /**
//    * @description:今天之后的日期是不能选择的
//    * @param {current : 传入的时间}
//    * @return { boolean : current 是否 大于当前的 日期}
//    */
//   disabledDate = (current) => {
//     return current > moment().endOf('day');
//   };

//   render() {
//     const options = [
//       {
//         value: 'GE',
//         label: 'GE',
//         children: [
//           {
//             value: 'CT',
//             label: 'CT',
//             children: [
//               {
//                 value: 'all',
//                 label: 'All',
//               },
//             ],
//           },
//           {
//             value: 'MR',
//             label: 'MR',
//             children: [
//               {
//                 value: 'all',
//                 label: 'All',
//               },
//             ],
//           },
//           {
//             value: 'AW',
//             label: 'AW',
//             children: [
//               {
//                 value: 'AW4.4',
//                 label: 'AW4.4',
//               },
//               {
//                 value: 'AW4.5',
//                 label: 'AW4.5',
//               },
//               {
//                 value: 'AW4.6',
//                 label: 'AW4.6',
//               },
//               {
//                 value: 'AW4.7',
//                 label: 'AW4.7',
//               },
//             ],
//           },
//           {
//             value: 'PETCT',
//             label: 'PET-CT',
//             children: [
//               {
//                 value: 'DLS2002RRME2',
//                 label: 'Discovery LS 2002(RRCT_ME.10_R2.9I_RRME2)',
//               },
//               {
//                 value: 'DLS2002RR119',
//                 label: 'Discovery LS 2002(RR1.1.19)',
//               },
//               {
//                 value: 'DLS2003',
//                 label: 'Discovery LS 2003',
//               },
//               {
//                 value: 'DMOTI600',
//                 label: 'Discovery MOTI 600',
//               },
//               {
//                 value: 'D690',
//                 label: 'Discovery 690',
//               },
//               {
//                 value: 'OPTIMA560',
//                 label: 'OPTIMA 560',
//               },
//               {
//                 value: 'D690ES',
//                 label: 'DISCOVERY 690 ELITE STANDARD',
//               },
//               {
//                 value: 'D710',
//                 label: 'Discovery 710',
//               },
//               {
//                 value: 'DIQTANGCT',
//                 label: 'Discovery IQ with “Tang” CT',
//               },
//               {
//                 value: 'DIQPARC4',
//                 label: 'Discovery IQ with “PARC4”',
//               },
//               {
//                 value: 'DMIDR',
//                 label: 'Discovery MI DR',
//               },
//               {
//                 value: 'DIQXRING',
//                 label: 'DISCOVERY IQ.X 25CM 5 RING',
//               },
//               {
//                 value: 'DMI',
//                 label: 'Discovery MI',
//               },
//               {
//                 value: 'DST',
//                 label: 'Discovery ST',
//               },
//               {
//                 value: 'ADVIIPR5OR51',
//                 label: 'ADV-IIP(Advance Nxi R5 or 5.1)',
//               },
//               {
//                 value: 'PETADV6R6OR61',
//                 label: 'PETADV6(Advance Nxi R6 or 6.1)',
//               },
//               {
//                 value: 'PETGRE',
//                 label: 'PET GRE',
//               },
//               {
//                 value: 'PETTRACE',
//                 label: 'PET TRACE',
//               },
//             ],
//           },
//           {
//             value: 'NM',
//             label: 'NM',
//             children: [
//               {
//                 value: 'IOIIIQUASAR',
//                 label: 'Infinia  or Infinia II (Quasar)',
//               },
//               {
//                 value: 'IIIXP',
//                 label: 'Infinia II H4 XP',
//               },
//               {
//                 value: 'VENTRI',
//                 label: 'Ventri',
//               },
//               {
//                 value: 'D530WXP',
//                 label: 'Discovery 530C(Windows XP)',
//               },
//               {
//                 value: 'D570C',
//                 label: 'Discovery 570C',
//               },
//               {
//                 value: 'D530CHELIOS',
//                 label: 'Discovery 530C(HeliOS)',
//               },
//               {
//                 value: 'D670PRO',
//                 label: 'Discovery 670 Pro',
//               },
//               {
//                 value: 'D670CZT',
//                 label: 'Discovery 670 CZT',
//               },
//               {
//                 value: 'D670',
//                 label: 'Discovery 670',
//               },
//               {
//                 value: 'D630',
//                 label: 'Discovery 630',
//               },
//               {
//                 value: 'D615',
//                 label: 'Discovery 615',
//               },
//               {
//                 value: 'D640',
//                 label: 'Discovery 640',
//               },
//               {
//                 value: 'OPTIMA640',
//                 label: 'Optima 640',
//               },
//               {
//                 value: 'BRIVO615',
//                 label: 'Brivo 615',
//               },
//             ],
//           },
//         ],
//       },
//       // {
//       //   value: 'PHILIPS',
//       //   label: 'PHILIPS',
//       //   children: [
//       //     {
//       //       value: 'CT',
//       //       label: 'CT',
//       //       children: [
//       //         {
//       //           value: 'all',
//       //           label: 'All',
//       //         },
//       //       ],
//       //     },
//       //     {
//       //       value: 'PETCT',
//       //       label: 'PET-CT',
//       //       children: [
//       //         {
//       //           value: 'all',
//       //           label: 'All',
//       //         },
//       //       ],
//       //     },
//       //     {
//       //       value: 'NM',
//       //       label: 'NM',
//       //       children: [
//       //         {
//       //           value: 'all',
//       //           label: 'All',
//       //         },
//       //       ],
//       //     },
//       //     {
//       //       value: 'MR',
//       //       label: 'MR',
//       //       children: [
//       //         {
//       //           value: 'all',
//       //           label: 'All',
//       //         },
//       //       ],
//       //     },
//       //   ],
//       // },
//       // {
//       //   value: 'SIEMENS',
//       //   label: 'SIEMENS',
//       //   children: [
//       //     {
//       //       value: 'CT',
//       //       label: 'CT',
//       //       children: [
//       //         {
//       //           value: 'all',
//       //           label: 'All',
//       //         },
//       //       ],
//       //     },
//       //     {
//       //       value: 'PETCT',
//       //       label: 'PET-CT',
//       //       children: [
//       //         {
//       //           value: 'all',
//       //           label: 'All',
//       //         },
//       //       ],
//       //     },
//       //     {
//       //       value: 'NM',
//       //       label: 'NM',
//       //       children: [
//       //         {
//       //           value: 'all',
//       //           label: 'All',
//       //         },
//       //       ],
//       //     },
//       //     {
//       //       value: 'MR',
//       //       label: 'MR',
//       //       children: [
//       //         {
//       //           value: 'all',
//       //           label: 'All',
//       //         },
//       //       ],
//       //     },
//       //   ],
//       // },
//     ];
//     const optionsCT = [
//       { value: 'D1OR2', label: '单双排' },
//       { value: 'D4', label: '4排' },
//       { value: 'D8', label: '8排' },
//       { value: 'D16', label: '16排' },
//       { value: 'D64', label: '64排' },
//       { value: 'D128', label: '128排' },
//       { value: 'D256', label: '256排' },
//       { value: 'OTHER', label: '其他' },
//     ];
//     const OptionMR = [
//       { value: 'T0P5', label: '0.5T' },
//       { value: 'T1', label: '1T' },
//       { value: 'T1P5', label: '1.5T' },
//       { value: 'T3', label: '3T' },
//       { value: 'OTHER', label: '其他' },
//     ];
//     return (
//       <div>
//         <DrawerForm
//           title="新增设备"
//           trigger={
//             <Button
//               type="primary"
//               onClick={() => this.setState({ visibleStatus: true, valueChange: true })}
//             >
//               <PlusOutlined />
//               新增设备
//             </Button>
//           }
//           visible={this.state.visibleStatus}
//           drawerProps={{
//             forceRender: false,
//             destroyOnClose: true,
//             onClose: (e) => {
//               if (this.state.valueChange == true) {
//                 Modal.confirm({
//                   title: '您有未保存的数据，确认是否不再进行操作？',
//                   okText: '确认',
//                   cancelText: '取消',
//                   onOk: () => {
//                     this.setState({ visibleStatus: false });
//                   },
//                   onCancel: () => {
//                     this.setState({ visibleStatus: true });
//                   },
//                 });
//               } else {
//                 this.setState({ visibleStatus: false });
//               }
//             },
//           }}
//           // 自定义 底部 的按钮
//           submitter={{
//             submitButtonProps: {
//               style: {
//                 display: 'none',
//               },
//             },
//             render: (props, defaultDoms) => {
//               // 自定义按钮
//               // 如果允许编辑
//               return [
//                 <Button
//                   key="submit"
//                   onClick={() => {
//                     this.setState({ valueChange: false });
//                     props.form?.resetFields();
//                   }}
//                 >
//                   取消
//                 </Button>,
//                 <Button
//                   key="submit"
//                   type="primary"
//                   onClick={() => {
//                     props.submit();
//                   }}
//                 >
//                   保存
//                 </Button>,
//               ];
//             },
//           }}
//           onFinish={async (values) => {
//             await this.handleAdd(values);
//             // 不返回不会关闭弹框
//             return true;
//           }}
//           width={600}
//           // 自定义 底部 的按钮
//         >
//           <ProCard
//             title={
//               <div className={styles.addUserTitle}>
//                 <span className={styles.titleLeft}></span>&nbsp; 设备信息
//               </div>
//             }
//           >
//             <ProFormText
//               name="name"
//               // width="sm"
//               label="设备名称："
//               placeholder="请输入设备名称"
//               rules={[
//                 {
//                   required: true,
//                   message: '请输入设备名称！',
//                 },
//                 {
//                   pattern: /^[^!~`@#$￥%^&*<>?/|]*$/,
//                   message: '不能包含^!~`@#$￥%^&*<>?/|等非法字符！',
//                 },
//                 {
//                   max: 128,
//                   message: '字段长度不能超过128Byte！',
//                 },
//               ]}
//             ></ProFormText>
//             <ProForm.Item
//               label="设备厂家/设备类别/产品线"
//               name="factory"
//               rules={[
//                 {
//                   required: true,
//                   message: '请选择厂家/产品！',
//                 },
//               ]}
//             >
//               <Cascader
//                 options={options}
//                 expandTrigger="hover"
//                 onChange={this.changeCascade}
//               ></Cascader>
//             </ProForm.Item>
//             <ProForm.Group>
//               <ProFormText
//                 name="alias"
//                 width="sm"
//                 label="设备别名："
//                 placeholder="请输入设备别名"
//                 rules={[
//                   {
//                     pattern: /^[^!~`@#$￥%^&*<>?/|]*$/,
//                     message: '不能包含^!~`@#$￥%^&*<>?/|等非法字符！',
//                   },
//                   {
//                     max: 128,
//                     message: '字段长度不能超过128Byte！',
//                   },
//                 ]}
//               ></ProFormText>
//               {this.state.deviceType == 'CT' ? (
//                 <ProFormSelect
//                   name="detector"
//                   width="sm"
//                   label="探测器/场强"
//                   placeholder="选择探测器"
//                   options={optionsCT}
//                   rules={[
//                     {
//                       required: true,
//                       message: '请选择探测器类型！',
//                     },
//                   ]}
//                 ></ProFormSelect>
//               ) : this.state.deviceType == 'MR' ? (
//                 <ProFormSelect
//                   name="intensity"
//                   width="sm"
//                   label="探测器/场强"
//                   placeholder="选择场强"
//                   options={OptionMR}
//                   rules={[
//                     {
//                       required: true,
//                       message: '请选择场强类型！',
//                     },
//                   ]}
//                 ></ProFormSelect>
//               ) : (
//                 <ProFormSelect
//                   name="detector"
//                   width="sm"
//                   label="探测器/场强"
//                   placeholder="选择探测器"
//                   options={optionsCT}
//                   disabled={true}
//                   rules={[
//                     {
//                       required: true,
//                       message: '请选择探测器类型！',
//                     },
//                   ]}
//                 ></ProFormSelect>
//               )}
//             </ProForm.Group>
//             <ProForm.Group>
//               <ProFormText
//                 width="sm"
//                 name="model"
//                 label="Model Number:"
//                 placeholder="请输入Model Number"
//                 rules={[
//                   {
//                     pattern: /^[^！~`@#$￥%^&*<>?/|]*$/,
//                     message: '不能包含^！~`@#$￥%^&*<>?/|等非法字符！',
//                   },
//                   {
//                     max: 128,
//                     message: '字段长度不能超过128Byte！',
//                   },
//                 ]}
//               />
//               <ProFormText
//                 name="sn"
//                 width="sm"
//                 label="Serial Number:"
//                 placeholder="请输入Serial Number"
//                 rules={[
//                   {
//                     pattern: /^[^！~`@#$￥%^&*<>?/|]*$/,
//                     message: '不能包含^！~`@#$￥%^&*<>?/|等非法字符！',
//                   },
//                   {
//                     max: 128,
//                     message: '字段长度不能超过128Byte！',
//                   },
//                 ]}
//               />
//             </ProForm.Group>
//             <ProForm.Group>
//               <ProFormDatePicker
//                 width="sm"
//                 name="installTime"
//                 label="安装日期"
//                 placeholder="未填写"
//                 disabledDate={this.disabledDate}
//                 allowClear={false}
//               />
//             </ProForm.Group>
//           </ProCard>
//           <ProCard
//             title={
//               <div className={styles.addUserTitle}>
//                 <span className={styles.titleLeft}></span>&nbsp; 客户信息
//               </div>
//             }
//           >
//             <ProForm.Group>
//               <ProFormText
//                 name="hospital"
//                 width="sm"
//                 label="医院名称："
//                 placeholder="请输入医院名称"
//                 rules={[
//                   {
//                     required: true,
//                     message: '请输入医院名称！',
//                   },
//                   {
//                     pattern: /^[^!~`@#$￥%^&*<>?/|]*$/,
//                     message: '不能包含^!~`@#$￥%^&*<>?/|等非法字符！',
//                   },
//                   {
//                     max: 128,
//                     message: '字段长度不能超过128Byte！',
//                   },
//                 ]}
//               />
//               <ProFormText
//                 name="hospitalContactor"
//                 width="sm"
//                 label="医院联系人："
//                 placeholder="请输入医院名称"
//                 rules={[
//                   {
//                     pattern: /^[^!~`@#$￥%^&*<>?/|]*$/,
//                     message: '不能包含^!~`@#$￥%^&*<>?/|等非法字符！',
//                   },
//                   {
//                     max: 128,
//                     message: '字段长度不能超过128Byte！',
//                   },
//                 ]}
//               />
//             </ProForm.Group>
//             <ProForm.Group>
//               <ProFormText
//                 name="hospitalPhone"
//                 width="sm"
//                 label="联系电话："
//                 placeholder="请输入联系电话"
//                 rules={[
//                   {
//                     pattern: /^\d{7,11}$/,
//                     message: '字段要求是7~11位数字',
//                   },
//                 ]}
//               />
//               <ProFormText
//                 name="installPosition"
//                 width="sm"
//                 label="安装位置："
//                 placeholder="请输入安装位置"
//                 rules={[
//                   {
//                     pattern: /^[^!~`@#$￥%^&*<>?/|]*$/,
//                     message: '不能包含^!~`@#$￥%^&*<>?/|等非法字符！',
//                   },
//                   {
//                     max: 128,
//                     message: '字段长度不能超过128Byte！',
//                   },
//                 ]}
//               />
//             </ProForm.Group>
//             <ProForm.Item name="hospitalAddr" label="医院地址:">
//               <TextArea style={{ height: 60 }} placeholder="输入医院地址" name="hospitalAddr" />
//             </ProForm.Item>
//           </ProCard>
//           {/* </ProForm> */}
//         </DrawerForm>
//       </div>
//     );
//   }
// }
// export default AddDevice;
